iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0
影片教學

下班後學 Redis 和 Docker 系列 第 3

【下班後學 Redis 和 Docker】EP03 - 為什麼需要快取?快取的運作流程?使用快取需要注意的事情?

  • 分享至 

  • xImage
  •  

Yes

打給賀挖喜結語 JYu
新手上路,有任何問題歡迎討論

聯絡我:jk29666338@gmail.com
關於好想工作室:https://jyu1999.com/categories/goodidea-mind/

=====================================
(以下內容由 ChatGPT 生成,並經過少量修改)

嗨大家好,我是結語 JYu,歡迎來到這個《下班後學 Redis & Docker 的系列影片》的第三集。在今天的影片中,我們將探討為什麼我們需要使用快取以及快取的運作流程,並討論在使用快取時需要注意的一些事情。

首先,讓我們思考一個情境:假設我們擁有一個購物網站,而在某些特殊購物節或促銷活動期間,有大量用戶湧入該網站希望購買商品。在這種情況下,我們的資料庫將負責兩個主要工作:讀取和寫入。讀取是當用戶需要查看商品價格、名稱或庫存等信息時進行的操作,而寫入是當用戶創建訂單時新增資料的操作。

為了減輕資料庫的負擔,我們可以考慮將讀取操作交給快取來處理,因為快取可以更有效地處理讀取操作。這就是為什麼我們需要快取的原因之一。

現在,讓我們來了解快取的運作流程。其中一種簡單的快取流程稱為“Read through Cache”。

首先,當用戶向伺服器發出讀取請求時,伺服器將首先檢查快取中是否存在所需資料。如果快取中有資料,則立即返回給用戶,這是效能最佳的情況。

如果快取中沒有所需資料,伺服器將向資料庫發出請求,獲取資料。然後,伺服器將這些資料存儲在快取中,以供日後使用,同時返回資料給用戶。這樣,下次用戶再次請求相同的資料時,可以直接從快取中返回,而無需再次查詢資料庫。

然而,在使用快取時,我們需要考慮一些重要的事情。首先是資料的儲存方式。選擇適當的快取儲存方式至關重要。相比於使用像MySQL這樣的關聯式資料庫來儲存快取,使用像Redis這樣的記憶體資料庫更為合適,因為它可以提供更快的資料存取速度,而我們只關心讀取效能,不需要考慮資料庫的儲存方式。

第二個考量點是何時使用快取。在購物網站等應用中,快取最適合用於那些很少被修改或刪除的資料,因為它們經常被讀取。這樣可以減輕資料庫的負擔。

第三個考量點是快取的過期時間。我們必須設置適當的過期時間,以確保快取不會無限制地增長,同時避免過於頻繁地與資料庫互動。設定適當的過期時間是一個需要細心考慮的過程。

第四個考量點是資料一致性。當我們使用快取時,我們必須確保快取中的資料與資料庫中的資料保持一致。這可以通過在寫入資料庫時同時更新快取來實現。

總之,快取是提高應用程式效能的強大工具,但需要仔細考慮如何使用它,以確保資料的一致性和正確性。希望這個影片有助於你更好地理解快取的運作原理和使用情境。如果你有任何問題或意見,請隨時在下方留言,我將樂意回答。感謝觀看,我們下次再見!


上一篇
【下班後學 Redis 和 Docker】EP02 - SQL 和 Redis 的資料結構
下一篇
【下班後學 Redis 和 Docker】EP04 - 快取清除機制:過期刪除策略與 Eviction Policy
系列文
下班後學 Redis 和 Docker 6
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言